﻿/// <reference path="../libs/typedMVVM/include/typedMVVM.ts" />
/// <reference path="../libs/typedMVVM/include/win.ts" />
var TypedMVVM;
(function (TypedMVVM) {
    (function (Samples) {
        /// <reference path="../interfaces/IHomeViewModel.ts" />
        /// <reference path="../interfaces/IViewModelFactory.ts" />
        /// <reference path="../viewModels/HomeViewModel.ts" />
        /// <reference path="../services/SampleService.ts" />
        /// <reference path="../libs/typedMVVM/viewModels/IViewModelBase.ts" />
        (function (ViewModels) {
            // Provides logic for initialising ViewModel instances
            var ViewModelFactory = (function () {
                function ViewModelFactory() {
                }
                Object.defineProperty(ViewModelFactory, "homeViewModel", {
                    get: function () {
                        if (!this._homeViewModel) {
                            this._homeViewModel = new ViewModels.HomeViewModel(TypedMVVM.Common.IoC.Container.resolve(Samples.Services.SampleService));
                        }
                        return this._homeViewModel;
                    },
                    enumerable: true,
                    configurable: true
                });
                return ViewModelFactory;
            })();
            ViewModels.ViewModelFactory = ViewModelFactory;
        })(Samples.ViewModels || (Samples.ViewModels = {}));
        var ViewModels = Samples.ViewModels;
    })(TypedMVVM.Samples || (TypedMVVM.Samples = {}));
    var Samples = TypedMVVM.Samples;
})(TypedMVVM || (TypedMVVM = {}));
//# sourceMappingURL=ViewModelFactory.js.map
